package com.haoniu.module.mapper;

import com.haoniu.module.domain.database.User;
import com.haoniu.module.domain.database.UserWalletOut;
import com.haoniu.module.domain.dto.UserWalletOutDTO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 提现 数据层
 * 
 * @author houyijun
 * @date 2019-01-25
 */
public interface UserWalletOutMapper 
{
	/**
     * 查询提现信息
     * 
     * @param id 提现ID
     * @return 提现信息
     */
	public UserWalletOut selectUserWalletOutById(Integer id);
	
	/**
     * 查询提现列表
     * 
     * @param userWalletOut 提现信息
     * @return 提现集合
     */
	public List<UserWalletOut> selectUserWalletOutList(UserWalletOut userWalletOut);
	
	/**
     * 新增提现
     * 
     * @param userWalletOut 提现信息
     * @return 结果
     */
	public int insertUserWalletOut(UserWalletOut userWalletOut);
	
	/**
     * 修改提现
     * 
     * @param userWalletOut 提现信息
     * @return 结果
     */
	public int updateUserWalletOut(UserWalletOut userWalletOut);
	
	/**
     * 删除提现
     * 
     * @param id 提现ID
     * @return 结果
     */
	public int deleteUserWalletOutById(Integer id);
	
	/**
     * 批量删除提现
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteUserWalletOutByIds(String[] ids);


	List<UserWalletOutDTO> userWalletOutList(UserWalletOut userWalletOut);

	UserWalletOut selectUserWalletOutByUserId(Integer userId);

	double totalWithdrawMoney();

	/**
	 * 提现总金额统计
	 */
	public BigDecimal selectUserWalletOutMoney(Integer userId);
}